Заглавная страница

Описание ресурса

Этот учебный ресурс посвящён модели объектно-ориентированного программирования, её реализации в конкретных языках программирования, а именно Java, Object Pascal и C++, и сравнению их характеристик, соответствующих концепции ООП.

Цели создания сайта: практика по написанию Web-страниц на языке разметки гипертектста и использованию каскадных таблиц стилей. Ознакомление с общими принципами объектной модели разработки программ и анализ одних из наиболее распространённых языков ООП

Вступительная статья

Перед тем, как рассматривать отдельные черты объектной модели программирования, следует пояснить смысл этого понятия и показать основные её отличия от программ без использования объектов. Для упрощения можно сказать, что "обычная" программа состоит из двух основных частей: данные и код. Данные - это различные переменные и константы, описанные в программе: числовые, логические, строковые и т.д. Код - это процедуры и функции, которые выполняют действия над данными. Следует отметить, что эти две части не смешиваются и существуют сами по себе, ожидая своего вызова. При этом функции и процедуры "ничего не знают" о тех данных, с которыми им придётся оперировать. Т.е. программа не выполняет никакого контроля за за данными и остаётся надеяться толко на их изначальную корректность или прописывать дополнительные процедуры проверки. Ещё можно заметить, что программа выглядит как набор несвязанных и неструктурированных кода и данных, который при болшом размере текста программы становится плохо читабельным и усложняет её разработку и дальнейшее сопровождение. Разумеется, хороший комментарий, вставленный в текст программы, может испраить это положение, но логично построенная структура программы также значительно уменьшает время, затрачиваемое на понимание уже написанного. Одной из прочих важных решений в объектном программировании является структурирование функций и переменных на основе объединения их в объекты.

Итак, рассмотрим, что нам предлагает объектный подход. Одной из ключевых черт является группировка данных и функций в один блок, называемый объектом. Что это даёт? Это означает, что, во-первых, нужные данные и процедуры (здесь я употребляю слова функция и процедура как синонимы, хотя в отдельных языках программирования выделяют различия между ними, например, Pascal) всегда, что называется, находятся "под рукой", повышается контроль над правильностью данных, программа становится более структурированной и понятной для программиста (разумеется, не для всех понятной). Благодаря тому, что вместо прямого доступа можно осуществлять доступ с проверкой данных, их сохранность и общая надёжность и стабильность приложения также повышается, что немало важно, особенно для больших проектов. Повторю ещё раз, что объект содержит в себе набор данных, называемых свойствами объекта, и процедуры по обработке названных, эти функции в терминологии ООП называются методами. Отличие свойств от "обычных" переменных состоит в наличии методов чтения и записи, которые производят проверку данных, выполняют различные необходимые действия перед записью или чтением переменной. Т.е. на самом деле, обращаясь к свойству объекта, мы обращаемся к соответствующей функции чтения или записи, которая обращается (или не обращается) к переменной (полю, как ещё называют) объекта. Одной из других особенностей ООП является создание классов. Класс - это обобщенное описание, шаблон объекта. Можно создавать несколько экземпляров одного класса. Эти экземпляры есть объекты, т.е. конкретная реализация шаблона (класса). Все объекты одного класса обладают одинаковыми возможностями по работе с данными. Класс - это абстрактное описание ещё не существующего объекта, чтобы пользоваться его методами необходимо создать конкретный объект.

Итак, было дано упрощенное понятие об ООП. На самом деле это понятие должно выглядеть намного шире, чем описано. Рассмотрим, какими свойствами должен обладать язык программирования, чтобы его можно было назвать объектно-ориентированным. Далее...



Страницу составил Прокопов Валерий. Г. Ярославль. 2009 г.

Сайт управляется системой uCoz